Encapsulation and Its Discontents

Applying Normal Accident Theory to Software Design


George BelotskyHeath Johns
Chief Scientist VP of Engineering
george@cinematx.com heath@cinematx.com

July 23, 2008

CinematX Digital Inc.

Click left mouse button for next slide

photo © Iain Warde for openphoto.net CC:Attribution-ShareAlike

How to View the Slides

The Tale of a Class

It Starts Out Simple ...

Simple NOP Situation

... But Then

Complex NOP Situation

What If:

Normal Accident Theory

Interaction and Coupling

Interaction/Coupling Chart
From figure 3.1 of Perrow's Normal Accidents

The Parable of the PORV Valve

Famous Maxims

Normal Accident Theory is an import Statement for Ideas

The PORV Valve as Anti-Pattern

Reducing Interactive Complexity

Simplifying the Complex NOP Situation

Reducing Tight Coupling

Plane to Bike

Too Many Services Running?

Rediscovering the Command Line

IPython

Conclusion

Further Reading

Thanks to Alex Martelli

For recommending Perrow's book, Normal Accidents, and pointing me in this fascinating direction.

Thanks to Our Brilliant Development Team